import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
* A "legfobb"  osztaly.
* A szkeleton inditja el a programot.
*/

public class Szkeleton {
	static int indent = -1;
	static Kincskereso kk;
	static Palya pa;
	static int eset;
	static private BufferedReader input;
	
/**
* A palya inicializalasat vegzi a kulonbozo tesztesetekre
*/
	public static void Inicializalas() {
		Palya p = new Palya();
		pa = p;
		/**
		* Az egyes esetek
		*/
		switch(eset){
	                case 1:  p.beolvas1(); break;
	                case 2:  p.beolvas2(); break;
	                case 3:  p.beolvas3(); break;
	                case 4:  p.beolvas4(); break;
	                case 5:  p.beolvas5(); break;
	                case 6:  p.beolvas6(); break;
	                case 7:  p.beolvas7(); break;
	                case 8:  p.beolvas8(); break;
	                case 9:  p.beolvas9(); break;
	                default: System.out.print("Ervenytelen teszteset...");break;
			
			}

		Timer t = new Timer();
	}
	
	/**
	* Kincskereso lep
	*/
	public static void KkLep() {
		String irany = Ask("Merre lepjen a kincskereso?\n" +
						   "  j - jobbra(ajanlott)\n" +
						   "  b - balra\n" +
						   "  f - fel\n" +
						   "  l - lefele\n");
		
		char s = irany.charAt(0);
		
		switch(s) {
		case 'j': kk.jobbraLep();
				  break;
		case 'b': kk.balraLep();
				  break;
		case 'f': kk.felfeleLep();
		    	  break;
		case 'l': kk.lefeleLep();
		  		  break;			
		}
		
		String lekerdez = Ask("Lekerdezed a cellakat? [y/n]\n" +
							  "Ha nemet nyomsz, a program nem fog tovabb futni!");
		s = lekerdez.charAt(0);
		if(s == 'y') {
			pa.vegiglep();
		}
	}
	/**
	* Fuggveny indulasat jelzi ki a felhasznalonak
	*/
	public static void Start(String tipus, String fvNev) {
		indent++;
		String s = "";
		for(int i = 0; i < indent; i++) {
			s = s.concat("\t");
		}
		System.out.println(s + "--> " + tipus + "." + fvNev + "()");
	}
	/**
	* Fuggveny futasanak veget jelzi.
	*/
	public static void Finish(String tipus, String fvNev) {
		String s = new String();
		for(int i = 0; i < indent; i++) {
			s = s.concat("\t");
		}
		System.out.println(s + "<-- " + tipus + "." + fvNev + "()");
		indent--;
	}
	/**
	* Keres intezheto a felhasznalohoz
	*/
	public static String Ask(String arg) {
		String s = new String();
		for(int i = 0; i < indent; i++) {
			s = s.concat("\t");
		}
		
		System.out.println(s + arg);
		String in="";
		try 
		{
			in = input.readLine();
			
		}
		catch(IOException e) { }
		return in;
	}
	/**
	* Futasi uzenet kiiratasa
	*/
	public static void Message(String arg) {
		String s = new String();
		for(int i = 0; i < indent; i++) {
			s = s.concat("\t");
		}
		
		System.out.println(s + arg);	
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {        
		input = new BufferedReader(new InputStreamReader(System.in));	
		while(true){


			System.out.println("\n\t\tMenu\n");
			System.out.println("1.eset\tInicializalas\t\t(1-es gomb)");
			System.out.println("2.eset\tKincskereso lep\t\t(2-es gomb)");
			System.out.println("3.eset\tKincskereso Gyemant\t(3-es gomb)");
			System.out.println("4.eset\tFold kiasasa\t\t(4-es gomb)");
			System.out.println("5.eset\tSzikla eltolasa\t\t(5-es gomb)");
			System.out.println("6.eset\tKincskereso Buta\t(6-es gomb)");
			System.out.println("7.eset\tKincskereso Uldozo\t(7-es gomb)");
			System.out.println("8.eset\tKincskereso Amoba\t(8-es gomb)");
			System.out.println("9.eset\tBomba felv. ler. robban\t(9-es gomb)\n");
			System.out.println("Exit  \t\t\t\t(0-es gomb)\n\n\n");
			
			System.out.print(":>");
			int i=0;
			try
			{
				//String in = input.readLine();
				i = Integer.valueOf(input.readLine()).intValue();
			}
			catch(NumberFormatException ex)
			{
				System.out.println("Az input ervenytelen...");
				continue;
			} 
			catch(IOException e) { }  

			switch(i){
	                case 1:  eset = 1;Inicializalas(); break;
	                case 2:  eset = 2;Inicializalas(); KkLep(); break;
	                case 3:  eset = 3;Inicializalas(); KkLep(); break;
	                case 4:  eset = 4;Inicializalas(); KkLep(); break;
	                case 5:  eset = 5;Inicializalas(); KkLep(); break;
	                case 6:  eset = 6;Inicializalas(); KkLep(); break;
	                case 7:  eset = 7;Inicializalas(); KkLep(); break;
	                case 8:  eset = 8;Inicializalas(); KkLep(); break;
	                case 9:  eset = 9;Inicializalas(); KkLep(); break;
	                case 0:  System.out.println("Kilepes a programbol...");System.exit(0); break;
	                default: System.out.print("Ervenytelen teszteset...");continue;
			
			}
		}
	}
	
	
}		
